Я уже заикался об этом в шаге Шаг 225
- Изучаем справочники – Запрет ручного исправления. Ну мол есть целый ряд
задач именно по управлению справочниками. Все хорошо, но вот такая ситуация.
Есть документ который создает элемент справочника. Добавляется он в момент
проведения. А вот когда Вы делаете документ не проведенным элемент справочника
должен удалиться. Вот это процесс отмену проведения нам и нужно контролировать.
ОбработкаУдаленияПроведения Синтаксис: Описание: Вот используя эту процедуру и нужно удалять элемент из справочника.
Предопределенная процедура обработки
удаления проведения документа.
ОбработкаУдаленияПроведения()
Англоязычный
синоним:
UnPostingProcess
Процедура ОбработкаУдаленияПроведения — предопределенная
процедура. Она не является встроенной процедурой языка. Для нее определено
только название и синтаксис. Тело процедуры должно быть написано разработчиком
конфигурации в Модуле документа (см. «Виды программных модулей»). Вызов
процедуры ОбработкаУдаленияПроведения производится в системе 1С:Предприятие
неявно при отмене проведения документа или при удалении проведенных документов в
любом режиме — интерактивно или программно. (см. СделатьНеПроведенным,
Удалить).
Замечание. В предопределенных процедурах ОбработкаПроведения и
ОбработкаУдаленияПроведения система 1С:Предприятие сама выполняет все действия
через транзакцию (см. «Процедуры работы с транзакциями»), поэтому никаких
специальных действий по обработке транзакций в этих предопределенных процедурах
предпринимать не нужно.
Если в данной предопределенной процедуре установить
статус возврата — 0 (например, если данному пользователю нельзя отменять
проведение документа) то отмена проведения документа не будет выполнена и будет
отменена системная транзакция.
Замечание. В предопределенных процедурах
ОбработкаУдаленияПроведения и ОбработкаПроведения нельзя использовать элементы
интерактивного управления (например, операторы Предупреждение, Вопрос,
ВвестиЧисло и т. п.), т. к. в этом случае при открытой транзакции система
ожидает отклика пользователя, а все остальные пользователи ждут завершения
транзакции (в результате документы у всех остальных пользователей в этот момент
не могут проводиться). Если в конфигурации необходимо при проведении документа
выдавать пользователю некоторые сообщения, то следует использовать операторы
Сообщить или Состояние.